/*
 * Copyright (C) 2009 Ionut Dediu <deionut@yahoo.com>
 *
 * Licensed under the GNU General Public License Version 2
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */

// SmartCamApplication.h

#ifndef __SMARTCAMAPPLICATION_H__
#define __SMARTCAMAPPLICATION_H__

// INCLUDES
#include <aknapp.h>
#include "SmartCam.hrh"


// UID for the application;
// this should correspond to the uid defined in the mmp file
const TUid KUidSmartCamApp = { _UID3 };


// CLASS DECLARATION

/**
* CSmartCamApplication application class.
* Provides factory to create concrete document object.
* An instance of CSmartCamApplication is the application part of the
* AVKON application framework for the SmartCam example application.
*/
class CSmartCamApplication : public CAknApplication
	{
	public: // Functions from base classes

		/**
		* From CApaApplication, AppDllUid.
		* @return Application's UID (KUidSmartCamApp).
		*/
		TUid AppDllUid() const;

	protected: // Functions from base classes

		/**
		* From CApaApplication, CreateDocumentL.
		* Creates CSmartCamDocument document object. The returned
		* pointer in not owned by the CSmartCamApplication object.
		* @return A pointer to the created document object.
		*/
		CApaDocument* CreateDocumentL();
	};

#endif // __SMARTCAMAPPLICATION_H__

